Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

απλό πρόβλημα στην c#

Îåêßíçóå áðü ôï ìÝëïò tommaσ. Τελευταία δημοσίευση από το μέλος evliatsas στις 26-04-2006, 11:50. Υπάρχουν 17 απαντήσεις.
Σελίδα 1 από 2 (18 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  14-12-2005, 22:10 7961

    Devil [6] απλό πρόβλημα στην c#

    ο κώδικας είναι c#:
               
                Double peri4;
                textbox1.Text = peri4;
                
             Τι διάολο   εχο λάθος(ειμαι αρχάριος) κια μου λεεί οτι είναι λάθος?
                                   τελικά δεν είναι τοσο ιδια η c# με την vb.net όσο νομιζα
                                 
  •  14-12-2005, 22:22 7962 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    Πρέπει να κάνεις είτε
    TextBox1.Text = (string)peri4;
    είτε
    Textbox1.Text = peri4.ToString();

    Κοινός πρέπει να τα κάνεις cast απο double σε string γιατί το property Text του TextBox1 δέχεται μόνο strings για value.Συνήθως κάτι τέτοια convertions η VB.Net τα κάνει μόνη της στο background, γιαυτό δεν είχες πρόβλημα.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  14-12-2005, 22:30 7963 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    Πρέπει να αλλάξεις το
    textbox1.Text = peri4;
    με
    textbox1.Text = peri4.ToString();

    Η VB το επιτρέπει αυτό όταν έχεις την επιλογή "Strict Off" σαν "ευκολία". Το πρόβλημα με αυτές τις "ευκολίες" είναι ότι κρύβουν πιθανά λάθη, όταν προσπαθείς να θέσεις μια τιμή ενός τύπου σε ένα άλλο που δεν επιτρέπει τη μετατροπή. Η VB θα κάνει compile αλλά στο runtime θα πέσει ένα ωραιότατο exception.

    Στη συγκεκριμμένη περίπτωση μπορεί να συμβεί το άλλο. Αν το αντικείμενο που βάλεις στο Text δεν έχει μια μέθοδο ToString() της προκοπής, θα χρησιμοποιηθεί η ToString() της κλάσης Object, η οποία απλά επιστρέφει τον τύπο του αντικειμένου. Στην περίπτωση αυτή δεν θα κτυπήσει τίποτα μέχρι να δεις κάπου άσχετες τιμές
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  14-12-2005, 23:07 7965 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    Και το αντίστροφο πως γίνεται?? : να βάλω από ένα textbox σε μια μεταβλητή δοκίμασα:
    Peri1.ToString() = textbox1.Text
    Αλλα δεν πιάνει
  •  14-12-2005, 23:17 7966 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    Peri1.Parse(textbox1.Text);

    H ToString() είναι μέθοδος, δεν μπορείς να θέσεις κάποια τιμή στη μέθοδο. Μόνο να την καλέσεις μπορείς.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  14-12-2005, 23:31 7967 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    το peri1 είναι double και δεν το δεχεται το Parse σιγκεκριμενα μου κανει μπλε το peri1
  •  14-12-2005, 23:41 7969 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

     tomkarachris wrote:
    Και το αντίστροφο πως γίνεται?? : να βάλω από ένα textbox σε μια μεταβλητή δοκίμασα:
    Peri1.ToString() = textbox1.Text
    Αλλα δεν πιάνει


    Κάνε -> Peri1 = (double)Textbox1.Text.ToString();

    O pkanavos προφανός μπερδεύτηκε.Smile [:)]
    Αυτό που εννοούσε ήταν
    peri4 = double.Parse(Textbox1.Text.ToString());

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  14-12-2005, 23:56 7970 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    peri1 = [(double)textbox1.Text.ToString()};
    Το σημείο που έχω σε αγκύλες είναι μπλε και μου λέει cannot το convert type 'string' to 'double'
    Και συγνώμη για την αναστάτωση
  •  14-12-2005, 23:59 7971 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

     tomkarachris wrote:
    peri1 = [(double)textbox1.Text.ToString()};
    Το σημείο που έχω σε αγκύλες είναι μπλε και μου λέει cannot το convert type 'string' to 'double'
    Και συγνώμη για την αναστάτωση


    Σωστός, μου ξέφυγε οτι παραπονίεται.. κάντο ώς εξής:

    peri4 = Convert.ToDouble(TextBox1.Text.ToString());

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  15-12-2005, 14:35 7985 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    if (textbox1.Text = "")
    {

    }
    Γιατί δεν πιάνει?
    το textbox.text = "" είναι μπλε
  •  15-12-2005, 14:38 7986 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    Δοκίμασε με το
    textbox1.Text.equals("")
    Συμπεριφέρεται καλύτερα...
    Simple Photography
  •  15-12-2005, 14:40 7987 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    Στην C# οι έλεγχοι ισότητας δεν γίνονται με το =, αλλά με το ==, δηλαδή θα έπρεπε να γράψεις :
    if (textbox1.Text == "") {
    }


    Προσωπικά πάντως προτιμώ να χρησιμοποιώ το String.Empty αντί για το "". Happy Coding...

    Στερνή μου γνώση να σε είχα πρώτα...
  •  15-12-2005, 14:59 7988 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

     kkara wrote:
    Στην C# οι έλεγχοι ισότητας δεν γίνονται με το =, αλλά με το ==, δηλαδή θα έπρεπε να γράψεις :
    if (textbox1.Text == "") {
    }


    Προσωπικά πάντως προτιμώ να χρησιμοποιώ το String.Empty αντί για το "". Happy Coding...


    Χάνεις σε performance κατα πολύ εάν το κάνεις έτσι..
    Κοίταξε απλά τη MSIL βγάζει ο compiler εάν κάνεις if (textbox1.text == "") { }
    και εάν το κάνεις με String.Empty(); και θα καταλάβεις τι εννοώ! Smile [:)]

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  15-12-2005, 17:09 8000 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

     pkefal wrote:
     kkara wrote:
    Στην C# οι έλεγχοι ισότητας δεν γίνονται με το =, αλλά με το ==, δηλαδή θα έπρεπε να γράψεις :
    if (textbox1.Text == "") {
    }


    Προσωπικά πάντως προτιμώ να χρησιμοποιώ το String.Empty αντί για το "". Happy Coding...


    Χάνεις σε performance κατα πολύ εάν το κάνεις έτσι..
    Κοίταξε απλά τη MSIL βγάζει ο compiler εάν κάνεις if (textbox1.text == "") { }
    και εάν το κάνεις με String.Empty(); και θα καταλάβεις τι εννοώ! Smile [:)]

    Μάλλον το αντίστροφο συμβαίνει. Όταν συγκρίνεις με το "" αναγκαστικά δημιουργείται ένα νέο string το οποίο θα πεταχτεί μετά. Αντίθετα, το String.Empty είναι ένα έτοιμο άδειο string το οποίο χρησιμοποιείται ειδικά για συγκρίσεις. Το IL που δημιουργείται από τα δύο statements δεν κάνει κάτι διαφορετικό.

    Ο ποιό γρήγορος τρόπος πάντως είναι αντί για σύγκριση strings, o έλεγχος μεγέθους:

    if (textbox1.Text.Length==0)


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  15-12-2005, 18:32 8004 σε απάντηση της 7961

    Απ: απλό πρόβλημα στην c#

    θέλω να κάνω το εξείς
    cobe vb:
    //to instr ψάχνει ενα string σε ένα textbox
    if instr(Textbox.text,".") then
    exit sub
    else
    textbox.text = textbox.text + "."
    end if
    στην c# υπάρχει ίδια συνάρτηση με την instr της visual basic , και γενικά που μπορώ να δώ τις συναρτήσείς?
Σελίδα 1 από 2 (18 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems